home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2000 #4
/
Amiga Plus CD - 2000 - No. 4.iso
/
Tools
/
Commo-Support
/
Disk-Archive
/
amiga-logo.dms
/
amiga-logo.adf
/
Logo
/
DEMO
< prev
next >
Wrap
Text File
|
1988-12-15
|
4KB
|
261 lines
;*******************************************************************
;* Preliminary Amiga Logo Demo Program
;*******************************************************************
MAKE "DEMO.VERSION 1.1
MAKE "DEMO.DATE [15 DEC 88]
TO DEMO.RAND.LINES
PREP
RAND.DRAW 2 [0 0 14]
RAND.DRAW 3 [0 14 0]
RAND.DRAW 2 [14 0 14]
RAND.DRAW 3 [14 14 0]
WINDOW
HOME SETPC 0
REPEAT 600 [FD 400 BK 400 RT RANDOM 100]
CS
SETPC 1
FIN
END
TO RAND.X :RANGE
OUTPUT ((RANDOM :RANGE) - :RANGE / 2)
END
TO RAND.Y :RANGE
OUTPUT ((RANDOM :RANGE) - :RANGE / 2)
END
TO PREP
CS
RECYCLE
END
TO DEMO.SPIRAL.BOX
SETRGB 2 [0 8 14]
SETRGB 3 [14 10 2]
SETPC 2 SPIRAL.BOX FD 2
SETPC 3 SPIRAL.BOX BK 4
SETPC 1 SPIRAL.BOX
FIN
END
TO ANGLE.BOX :LEN :ANGLE
SETH :ANGLE
DRAW.BOX :LEN
END
TO RAND.BOX
PU SETPOS LIST RAND.X 700 RAND.Y 500 PD
SETPC 1 + RANDOM 3
ANGLE.BOX (20 * (1 + RANDOM 8)) RANDOM 45
END
TO DEMO.SPIRA.GRAPH
MAKE "C 1
REPEAT 4 [SETPC :C HOME SSB MAKE "C :C + 1]
FIN
END
TO RAND.FILLIN :LINE
PU SETPOS LIST RAND.X 600 :LINE PD
SETPC 1 + RANDOM 3
FILLIN
END
TO SAVE.RGB
IF NAME? "SCR.RGB.2 [STOP]
MAKE "SCR.RGB.2 RGB 2
MAKE "SCR.RGB.3 RGB 3
END
TO SSB
REPEAT 30 [SIDEBOX FD 4 RT 12]
END
TO SCATTER.CIRC :LEN
SETPC 1 + RANDOM 3
PU SETPOS LIST RAND.X 500 RAND.Y 300 PD
REPEAT 20 [FD :LEN BK :LEN RT RANDOM 30]
END
TO PSYCH.FLIP
LOCAL "OLD
MAKE "OLD RGB 2
REPEAT 6 [WAIT "FRAME]
SETRGB 2 RGB 3
SETRGB 3 :OLD
END
TO DEMO.PSYCH
PREP
LOCAL "PENCLR
MAKE "PENCLR 2
WINDOW
SETPC 1
REPEAT 60 [FD 400 BK 400 RT 6]
PU RT 3
REPEAT 60 [PSYCH.FILL]
RECYCLE
SETPOS [-12 -8] PE GRTYPE "END PU
HT REPEAT 50 [PSYCH.FLIP] ST
~ [FIN]
END
TO PSYCH.FILL
MAKE "PENCLR ITEM (:PENCLR - 1) [3 2]
SETPC :PENCLR
FD 150 PD FILLIN PU BK 150 RT 6
END
TO FIN
RECYCLE
CS
RESTORE.RGB
END
TO WAIT.20F
REPEAT 6 [WAIT "FRAME]
END
TO RAND.DRAW :NPC :RGBL
SETRGB :NPC :RGBL
RECYCLE
REPEAT 30 [RAND.POS]
END
TO DEMO.ANGLE.BOX
RERANDOM
WINDOW
RANDOM 100
SETRGB 2 [14 0 0]
SETRGB 3 [4 0 14]
REPEAT 80 [RAND.BOX]
RANDOM 100
FORSTEP "I -200 200 8 [RAND.FILLIN :I]
WAIT 120
FIN
END
TO DRAW.BOX :LEN
REPEAT 4 [FD :LEN RT 90]
END
TO DEMO.ROTATE.TURTLE
PREP
ROTATE.TURTLE
END
TO SPIRAL.BOX
LOCAL "S
MAKE "S 2
REPEAT 60 [BOX :S LT 90 MAKE "S :S + 2 RT 30]
END
TO ROTATE.TURTLE
CS
REPEAT 90 [RT 23 WAIT "FRAME]
END
TO BOX :SIZE
REPEAT 4 [FD :SIZE RT 90]
END
TO RAND.POS
SETPC RANDOM 4
SETPOS LIST RAND.X 638 RAND.Y 480
END
TO SPIRA.BOX
LOCAL "S
MAKE "S 2
REPEAT 40 [BOX :S LT 90 MAKE "S :S + 2 RT 30]
END
TO SIDEBOX
LT 45
REPEAT 4 [FD 100 RT 90]
RT 45
END
TO SPARKLE
SETRGB 2 [0 0 14] WAIT.20F
SETRGB 3 [14 14 0] WAIT.20F
SETRGB 2 [14 0 14] WAIT.20F
SETRGB 3 [0 14 14] WAIT.20F
SETRGB 2 [0 0 14] WAIT.20F
SETRGB 3 [14 14 0] WAIT.20F
SETRGB 2 [0 0 14] WAIT.20F
SETRGB 3 [0 14 0] WAIT.20F
SETRGB 2 [14 14 0] WAIT.20F
END
TO DEMO.CIRC
PREP
SETPC 3
SETRGB 3 [14 0 0]
REPEAT 360 [FD 180 BK 180 RT 1]
SETPC 2
REPEAT 250 [FD 180 BK 180 RT RANDOM 30]
SETPC 1
REPEAT 100 [FD 180 BK 180 RT RANDOM 30]
FIN
END
TO DEMO.GROW.BOX
HOME SETPC 3 GROW.BOX 5 180
HOME SETPC 2 GROW.BOX 5 140
HOME SETPC 1 GROW.BOX 5 100
HOME SETPC 4 GROW.BOX 5 180
FIN
END
TO DEMO.RAND.CIRC
PREP RERANDOM
SETRGB 3 [14 0 0]
WINDOW
REPEAT 50 [SCATTER.CIRC RANDOM 100]
REPEAT 2 [SPARKLE]
FIN
END
TO RESTORE.RGB
SETRGB 2 :SCR.RGB.2
SETRGB 3 :SCR.RGB.3
END
TO GROW.BOX :SIZE :LIMIT
IF :SIZE > :LIMIT [STOP]
BOX :SIZE
RT 20
GROW.BOX :SIZE + 5 :LIMIT
END
TO DEMO
PRINT [AMIGA LOGO DEMO]
CLEARSCREEN
FULLSCREEN
SAVE.RGB
RESTORE.RGB
DEMO.ROTATE.TURTLE
DEMO.CIRC
DEMO.SPIRA.GRAPH
DEMO.SPIRAL.BOX
DEMO.GROW.BOX
DEMO.RAND.CIRC
DEMO.ANGLE.BOX
DEMO.PSYCH
RESTORE.RGB
SS
PRINT [END OF DEMO, RETURNING TO SYSTEM]
WAIT 60
QUIT
END
DEMO